/*
*   封装公共方法
 */


var qzdMsgTimeout = 1500;
/**
 * 提示消息设置 
 * @type 
 */
toastr.options = {
	//关闭按钮
    "closeButton": true,
    //调试
    "debug": false,
    //进度条 显示
    "progressBar": true,
    "preventDuplicates": true,
    //提示消息在屏幕位置
    //toast-top-full-width, 顶部全宽
    //toast-bottom-full-width, 底部全宽
    //toast-top-center, 顶部居中
    //toast-bottom-center 底部居中
    //toast-top-right 顶部居右
    //toast-top-left 顶部居左
    //toast-bottom-left 底部居左
    //toast-bottom-right  底部部居右
    "positionClass": "toast-top-right",
    "onclick": null,
    //显示动作时间 
    "showDuration": "100",
    //隐藏动作时间
    "hideDuration": "1000",
    //设置自动关闭超时时间
    "timeOut": qzdMsgTimeout,
    "extendedTimeOut": "1000",
    //动画效果
    "showEasing": "swing",
    //隐藏动画
    "hideEasing": "linear",
    //显示方法
    "showMethod": "fadeIn",
    //隐藏方法
    "hideMethod": "fadeOut"
};

/**
 * 页面显示hash key 对应的值
 *
 * @param m     hash对象，例如枚举转换成hash
 * @param k     当前记录的值，例如一条记录中的值
 * @param p     如果m根据k取出来是对象，则根据该属性货的对应的属性值；如果是枚举获取对应的枚举值则该参数不需要
 * @returns {*}
 */
function mkv(m, k, p){
    if(m && k){
        var o = m[k];
        return p ? o[p] : o;
    }
    return "";
}

/**
 * 消息弹出
 * @param msg       弹出的消息内容
 */
function  msgAlert(msg){
    if(msg){
        toastr.info(msg);
    }
}

function msgError(msg){
    if(msg){
        toastr.error(msg);
    }
}

/**
 * 表单重置
 * @param fid   表单id,如果不传,则根据样式formSearch选择
 */
function formReset(fid){
    var obj = null;
    if(fid){
        obj = $("#" + fid);
    } else {
        obj = $(".formSearch");
    }

    obj.each(function(k,v){      // 根据固定class选择器获取相关对象
        $(v).val("");
    });
}



function addWin(did){
    winShow(did ? did : "editWin");
}

function winSButton(did, f){
    if(did){
        var cobj = $("#" + did + " .modal-footer .btn-primary");
        if(f){
            cobj.show();
        } else {
            cobj.hide();
        }
    }

}


function winClose(did, tableId){
    winHidden(did ? did : "editWin");
    tableQuery(tableId);
}

/**
 *
 *
 * @param did
 */
function winHidden(did){
    if(did) {        //  dom id
        $("#" + did).css('display','none');
    } else {
        msgError("param missing!");
    }
}

/**
 *
 * @param did
 */
function winOpen(did){
    if(did) {        //  dom id
        $("#" + did).css('display','block');
    } else {
        msgError("param missing!");
    }
}



function  datefmt(did, ef){
    if(did){
        var start = {
            elem: '#' + did,
            format: 'YYYY-MM-DD hh:mm:ss',
            max: '2099-06-16 23:59:59', //最大日期
            istime: true,
            start: (ef ? laydate.now(+1) : laydate.now()) + ' 00:00:00'
        };
        laydate(start);
    }

}


function kaptchImg(did){
    $("#" + did).attr('src',"/kaptch?rtime=" + new Date().getTime());
}


/**
*
* create by ymj 9/4
* @param map       hash数据
* @param data      key值
* @param atr       对象属性
*/
function getObjAVal(map, data, atr){
   var r = "";
   if(map[data]){
       r = map[data];
       if(r && atr && r.hasOwnProperty(atr)){
           r = r[atr];
       }
   }
   return r;
}

/**
 *  打开菜单
 * create by 9/5
 * @param link   打开的url
 * @param mname
 */
function menuOpen(link, mname){
    if(link && link.length > 0){
        var cf = link.indexOf("?") != -1;
        var slink = cf ? link.substr(0, link.indexOf("?")) : link;
        slink = slink.toLowerCase();
        if(mname){          //
            var aid = "syshidenmenu";
            /*parent.$(".J_menuTab").each(function(hk, hv){
                var ishidden = parent.$(hv).attr("ishidden");
                if(ishidden && ishidden == slink){
                    parent.$(hv).remove();
                }
            });*/
            parent.$(".J_menuTab[ishidden='" + slink + "']").remove();

            parent.$("#syshidenmenu").attr("href", link);
            parent.$("#syshidenmenu").attr("ishidden", slink);
            parent.$("#syshidenmenu").text(mname);
        }

        var f = true;
        $(".J_menuItem", parent.document).each(function(k, v){
            var chref = parent.$(v).attr("href");
            if(chref){
                var schref = chref.indexOf("?") != -1 ?  chref.substr(0, chref.indexOf("?")) : chref;
                if(schref.toLowerCase() == slink){
                    parent.$(v).attr("href", link);
                    parent.$(v).trigger('click');
                    parent.$(v).attr("href", chref);
                    f = false;
                    return false;
                }
            }
        });

        if(f){
            msgError("无法触发菜单!");
        }

    } else {
        msgError("参数丢失...");
    }
}
